package com.jy.wms.dao;

import com.jy.wms.common.base.BaseDao;
import com.jy.wms.pojo.*;
import org.apache.ibatis.annotations.Param;
import java.util.List;
import java.util.Map;

/**
   * @ClassName: WmsArtificialReplenishmentMapper.java
   * @Description: TODO(这里用一句话描述这个类的作用)
   * @Author LH
   * @Date Mon Nov 27 17:18:33 GMT+08:00 2017
   */
   public interface WmsArtificialReplenishmentMapper extends BaseDao<WmsArtificialReplenishment>{

   /**
    * 插入一条记录
    * @param entity 实体对象
    * @return int
    */
    public Integer baseInsert(@Param("WmsArtificialReplenishment") WmsArtificialReplenishment entity);

       /**
        * 查询当天的补货编号
        * @param date
        * @return
        */
       public String getCountByBh(@Param("date") String date);

   /**
    * 插入一条记录（匹配有值的字段）
    * @param entity 实体对象
    * @return int
    */
   public Integer baseInsertSelective(@Param("WmsArtificialReplenishment") WmsArtificialReplenishment entity);

   /**
    * 删除（根据主键ID删除）
    * @param id 主键
    * @return int
    */
   public Integer baseDeleteByPrimaryKey(@Param("id") String id);

   /**
    * 删除（根据ID 批量删除）
    * @param idList 主键ID列表
    * @return int
    */
    public Integer baseDeleteBathPrimaryKeys(@Param("list") List<String> idList,@Param("zt") String zt);


    /**
    * 分页查询
    * @param entity 实体
    * @return List<WmsArtificialReplenishment>
    */
    public List<WmsArtificialReplenishment>  baseSelectPage(@Param("WmsArtificialReplenishment") WmsArtificialReplenishment entity,@Param("ckid") String ckid);

    /**
    * 查询（根据主键ID查询）
    * @param id 主键ID
    * @return User
    */
    public WmsArtificialReplenishment  baseSelectByPrimaryKey(@Param("id") String id);

   /**
    * 查询（根据ID 批量查询）
    * @param idList 主键ID列表
    * @return list
    */
    public Integer baseSelectBathPrimaryKeys(@Param("list") List<WmsArtificialReplenishment> idList);

   /**
    *修改 （匹配有值的字段）
    * @param entity 主键ID列表
    * @return int
    */
    public Integer baseUpdateByPrimaryKeySelective(@Param("WmsArtificialReplenishment") WmsArtificialReplenishment entity);

   /**
    *修改     删除修改删除人及删除时间
    * @param entity 主键ID列表
    * @return int
    */
    public Integer baseUpdateByPrimaryKey(@Param("WmsArtificialReplenishment") WmsArtificialReplenishment entity);


       /**
        * 新增补货单明细时，首先获取相应的库存信息
        * @return
        */
       public List<WmsArtificialReplenishment>getGoods(@Param("hpmc") String hpmc,@Param("hpbh") String hpbh,@Param("ckid") String ckid,@Param("hzid") String hzid);

       /**
        * 根据补货单查询订单明细
        * @param bhid 补货单id
        * @return
        */
       public List<WmsArtificialReplenishmentDetailed>getDetailList(@Param("bhid") List<String> bhid);
       public List<WmsArtificialReplenishmentDetailed>getDetailLists(@Param("bhid") List<String> bhid);
       public  Integer confirmOrder();

       public  WmsArtificialReplenishment selectByBhid(@Param("bhid") String bhid);
    /**
     * 导出驱动补货订单(打印)
     * @param idList
     * @return
     */
    public List<WmsArtificialReplenishmentDetailed> getOutPutList(@Param("list") List<String> idList);
    /**
     *
     * @param sczt 生成状态
     * @param id  补货单id
     * @return
     */
    public int  updateSczt(@Param("sczt") Integer sczt,@Param("id") String id);

    /**
     * 根据补货明细id 查找库存中的生产日期和货品批
     * @param bhmxid 补货明细id
     * @return
     */
    public WmsStock getScrqByMxid(@Param("bhmxid")String bhmxid);
 }
